perm filename 2[CRE,BGB] blob sn#021791 filedate 1973-01-25 generic text, type T, neo UTF8
00100	THE ALGORITHM.
00200	
00300		In the large, CRE consists of  five  steps:     thresholding,
00400	contouring,  smoothing,  bundling and comparing. The first four steps
00500	perform conversions between five kinds of images:       6-bit  raster
00600	image,  1-bit  raster  image,  vector  intensity  contour  image, arc
00700	contour image, and winged edge image.   The  final  step,  comparing,
00800	joins  an  image  to  a  film  of  images by linking the parts of the
00900	cuurent image to the parts of the previous image that compare  nearly
01000	equal.
01100	
01200		MAJOR OPERATION.	OPERAND.	  RESULT.
01300	
01400		1. THRESHOLDING: 	6-BIT-IMAGE 	  1-BIT-IMAGES.
01500		2. CONTOURING: 	 	1-BIT-IMAGES 	  VIC-IMAGE.
01600		3. SMOOTHING:	 	VIC-IMAGE 	  ARC-IMAGE.
01700		4. BUNDLING:	 	ARC-IMAGE 	  WINGED-IMAGE.
01800		5. COMPARING:		IMAGE & FILM	  FILM.
01900	
     

00100	THRESHOLDING.
00200	
00300	Thresholding, the first and easiest step, consists of two subroutines:
00400	
00500			1. THRESH:	CUT,TVBUF → PAC
00600			2. PACXOR:	PAC → HSEG,VSEG
00700	
00800	The subroutine THRESH takes an integer argument, 0 < CUT  ≤  63,  and
00900	for  each  pixel in the TVBUF with value equal to or greater than the
01000	cut THRESH sets a bit in PAC. PAC  (picture  accumulator)  is  a  bit
01100	array of 216 rows by 288 columns which takes 1728 words in the TVSEG.
01200	
01300	The subroutine PACXOR first copies the PAC into two  slightly  larger
01400	bit  arrays  named  HSEG  and  VSEG,  then it exclusive OR's the PAC,
01500	properly displaced one row or one  column,  into  HSEG  and  VSEG  to
01600	compute the horizontal and vertical border bits of blobs in the PAC.
01700	
01800	
     

00100	CONTOURING.
00200	
00300		Contouring, the next major step, converts the bit arrays HSEG
00400	and  VSEG  into  a  node-link data structure that represents an equal
00500	intensity level contour map. Of such contouring, there be  two  minor
00600	steps:  one, that of tracing the contour as a ring of vectors to form
00700	a polygon; and two, that of placing the polygon in the  contour  tree
00800	data structure.
00900	
01000		Although the notion of a contour
01100	map is familiar to everyone as a piece of  paper  from  the  Geodetic
01200	Survey  Office; implementing the notion into a data structure becomes
01300	a magical mystery  tour.  Two  of  the  contouring  mysteries  to  be
01400	discussed are jaggies and nesting. The jaggies problem involves doing
01500	something to a rectilinear quantized set of  segments,  to  make  its
01600	linear  nature more evident. The jaggies solution in CRE is called
01700	the  dekinking,  and  merely   involves   vernier   positioning   the
01800	right-turns as will be explained below.
01900	
02000		A JAGGY ILLUSTRATED.
02100	
02200				___
02300				   |___
02400				       |____
02500					    |___
02600					        |___
02700	
02800	The nesting problem involves  comparing  two  polygons  and  deciding
02900	whether  one  is within the other; although easy in an isolated case,
03000	solving alot of nesting becomes very expensive in compute time or  in
03100	memory space. The nesting solution in CRE is a fast big memory one
03200	involving a 62K array, called the SKYSEG.
03300	
03400	
03500	SMOOTHING.
03600	
03700	BUNDLING.